From: Carlos Garnacho Date: Wed, 28 Oct 2020 19:29:55 +0000 (+0100) Subject: magnifier: Avoid cursor visibility changes on startup X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~616^2^2~768 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=a9a54ba2a3b26b15c5dc3668ca8dd3d3e38ba9e6;p=gnome-shell.git magnifier: Avoid cursor visibility changes on startup When initializing the shell, we create the magnifier, and (normally) let it disabled. This still toggles cursor visibility on, which is not right since there's other considerations to take during initialization. Only do this after actual changes to the magnifier state, so initialization is left unperturbed. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1486 --- diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js index eae7bf464..036de7f75 100644 --- a/js/ui/magnifier.js +++ b/js/ui/magnifier.js @@ -158,20 +158,21 @@ var Magnifier = class Magnifier { zoomRegion.setActive(activate); }); - if (isActive != activate) { - if (activate) { - this._updateMouseSprite(); - this._cursorSpriteChangedId = - this._cursorTracker.connect('cursor-changed', - this._updateMouseSprite.bind(this)); - Meta.disable_unredirect_for_display(global.display); - this.startTrackingMouse(); - } else { - this._cursorTracker.disconnect(this._cursorSpriteChangedId); - this._mouseSprite.content.texture = null; - Meta.enable_unredirect_for_display(global.display); - this.stopTrackingMouse(); - } + if (isActive === activate) + return; + + if (activate) { + this._updateMouseSprite(); + this._cursorSpriteChangedId = + this._cursorTracker.connect('cursor-changed', + this._updateMouseSprite.bind(this)); + Meta.disable_unredirect_for_display(global.display); + this.startTrackingMouse(); + } else { + this._cursorTracker.disconnect(this._cursorSpriteChangedId); + this._mouseSprite.content.texture = null; + Meta.enable_unredirect_for_display(global.display); + this.stopTrackingMouse(); } // Make sure system mouse pointer is shown when all zoom regions are